<template>
    <div class="partnerList">
        <div class="partnerList_top">
			<!-- <div class="into_index">首页<i class="el-icon-close"></i></div> -->
			<!-- <div class="current">小区列表<i class="el-icon-close"></i></div> -->
		</div>
        <div class="partnerList_bottom">
            <div class="partnerList_bottom_new">
				<div class="partnerList_bottom_new_goods">
					<div class="partnerList_bottom_new_goods_btn">
						<button @click="addRecommend"><i class="el-icon-trophy"></i>新增小区</button>
					</div>
					<div class="partnerList_bottom_new_goods_screening">
						<div class="regionSelect">
							区域
							<el-select v-model="province_id" @change="select1" placeholder="不限">
								<el-option
								v-for="item in province"
								:key="item.cityid"
								:label="item.city_name"
								:value="item.cityid">
								</el-option>
							</el-select>
							<el-select v-model="city_id" @change="select2" placeholder="不限">
								<el-option
								v-for="item in city"
								:key="item.cityid"
								:label="item.city_name"
								:value="item.cityid">
								</el-option>
							</el-select>
							<el-select v-model="district_id" @change="select3" placeholder="不限">
								<el-option
								v-for="item in district"
								:key="item.cityid"
								:label="item.city_name"
								:value="item.cityid">
								</el-option>
							</el-select>
              卖场：
              <el-select
                v-model="marketId"
                clearable
                @change="selectMarket"
                filterable
                placeholder="请选择卖场"
              >
                <el-option
                  v-for="item in marketList"
                  :key="item.id"
                  :label="item.name"
                  :value="item.id"
                >
                </el-option>
              </el-select>
						</div>
						<div class="partnerList_bottom_new_goods_screening_right">
							<el-input v-model="input" placeholder="请输入"></el-input>
							<button @click="handerSeach"><i class="el-icon-search"></i>搜索</button>
						</div>
					</div>
				</div>
			</div>
            <div class="partnerList_table">
                <div class="partnerList_bottom_table">
					<table>
						<tr>
							<th></th>
							<th>序号</th>
							<th>楼盘名</th>
							<th>区域</th>
							<th>开盘时间</th>
							<!-- <th>房源</th> -->
							<th>均价(元/m²)</th>
							<th>排序</th>
              <th>所属卖场</th>
							<th>操作</th>
						</tr>
						<tr v-for="(v,i) in tableList" :key="i">
							<td>
								<font class="checkbox" :class="{'check_active' : checkBoxAll.includes(i)}" @click="handlerCheckbox(i)"><i class="el-icon-check"></i></font>
							</td>
							<td>{{v.id}}</td>
							<td>{{v.name}}</td>
							<td>{{v.district}}</td>
							<td>{{$moment(v.sale_time*1000).format('YYYY-MM-DD')}}</td>
							<!-- <td>{{v.store_name}}</td> -->
							<td>{{v.area_price}}</td>
							<td>
								<el-input style="width:80px;margin-right:10px;" size="mini" v-model="v.sort"></el-input>
                                <el-button type="primary" style="width:60px;text-align:center;" size="mini" @click="changeSort(v.id,v.sort)">确定</el-button>
							</td>
							<td>{{v.market_name}}</td>
							<td>
								<button class="editor" @click="toEdit(v.id)">详情</button>
								<button class="shelves" @click="toDel(v.id)">删除</button>
							</td>
						</tr>
						<tr v-if="tableList.length == 0"><td class="table_title" colspan="10">当前数据空空如也</td></tr>
					</table>
					<div class="partnerList_bottom_page">
						<div class="partnerList_bottom_page_left">
							<div class="partnerList_bottom_page_left_checkAll" @click="handerCheckAll">
								<font class="checkbox" :class="{'check_active' : checkAll}"><i class="el-icon-check"></i></font>
							</div>全选
							<!-- <button class="partnerList_bottom_page_left_btn" @click="selectDel">删除</button> -->
						</div>
						<div class="partnerList_bottom_page_right">
							<el-pagination
								@size-change="handleSizeChange"
								@current-change="handleCurrentChange"
								:current-page="page"
								:page-sizes="[10, 20, 30, 40]"
								:page-size="pageSize"
								layout="total, sizes, prev, pager, next, jumper"
								:total="total"
								background>
							</el-pagination>
						</div>
					</div>
				</div>
            </div>
        </div>
        
    </div>
</template>

<script>
export default {
    data(){
        return{
            cateList:[],
            cate:{},
             input: '',
			checkAll:false,
			page:1,
			pageSize:10,
			total:0,
            checkBoxAll:[],				// 选中的数据
			shelvesAlls:[],
            tableList:[],

			province:[],
			city:[],
			district:[],
			province_id:'',
			city_id:'',
			district_id:'',
      marketId: "", //卖场id
      marketList: [],
        }
    },
	mounted(){
		this.getProvince()
		this.getEstateList()
    this.remoteMethod();
	},

    methods:{
    // 获取卖场列表
    remoteMethod() {
      this.$http.post("/api/root/Market/marketList").then((res) => {
        console.log(res, "卖场列表");
        if (res.code == 1) {
          this.marketList = res.data ? res.data : [];
        }
      });
    },
    // 选择卖场
    selectMarket() {
      this.page = 1
      this.pageSize =10
      this.getEstateList();
    },
		// 获取小区列表
		getEstateList(){
			let params = {
				keyword:this.input,
				province_id:this.province_id,
				city_id:this.city_id,
				district_id:this.district_id,
				page:this.page,
				pagesize:this.pageSize,
        market_id:this.marketId
			}
			this.$http.post('/api/root/Estate/index',params).then(res=>{
				console.log(res,'小区列表');
				if(res.code==1){
					this.tableList = res.data.list?res.data.list:[]
					this.total = res.data.total
				}
			})
		},
		
		 // 排序按钮
        changeSort(id,sort){
            console.log(id,sort,'=====');
			let sor = {[`${id}`]:sort}
			let sortArr = JSON.stringify(sor)
            this.$http.post('/api/root/Estate/saveOrder',{sort:sortArr}).then(res=>{
                console.log(res,'排序结果');
                if(res.code==1){
                    this.getEstateList()
                    this.$message.success('操作成功')
                }else{
                    this.$message.warning(res.msg)
                }
            })
        },
	
	// 省份选择
	select1(){
		this.getCityList()
		this.getEstateList()
		this.city_id = ''
		this.district_id = ''
	},
	// 城市选择
	select2(){
		if(!this.province_id){
			this.$message.warning('请先选择省份')
			return
		}
		this.getAreaList()
		this.getEstateList()
		this.district_id = ''
	},
	// 县区选择
	select3(){
		if(!this.city_id){
			this.$message.warning('请先选择城市')
			return
		}
		this.getEstateList()
	},
	
	// 获取省份
	getProvince(){
		this.$http.post('/api/root/Region/getProvinceList').then(res=>{
			console.log(res,'省份');
			if(res.code==1){
				this.province = res.data?res.data:[]
			}
		})
	},
	// 获取城市
	getCityList(){
		this.$http.post('/api/root/Region/getCityList',{province_id:this.province_id}).then(res=>{
			console.log(res,'城市列表');
			if(res.code==1){
				this.city = res.data?res.data:[]
			}
		})
	},
	// 获取县区
	getAreaList(){
		this.$http.post('/api/root/Region/getDistrictList',{city_id:this.city_id}).then(res=>{
			console.log(res,'县区列表');
			if(res.code==1){
				this.district = res.data?res.data:[]
			}
		})
	},

        // 删除按钮
        toDel(id){
            this.$confirm('确定删除该小区吗？','提示',{
                confirmButtonText: '确定',
                cancelButtonText: '取消',
                type: 'warning'
            }).then(() => {
                this.$http.post('/api/root/Estate/del',{id}).then(res=>{
                    console.log(res,'删除结果');
                    if(res.code==1){
                        this.getEstateList()
                        this.$message.success('删除成功')
                    }else{
                        this.$message.warning(res.msg)
                    }
                })
            }).catch(()=>{
                console.log('点击取消');
            })
        },
        
        // 搜索
        handerSeach(){
            this.getEstateList()
		},

		// 详情按钮
		toEdit(id){
			this.$router.push({name:'estateAdd',query:{id}})
		},

        // 状态选择
        statusSelectFn(e){
            console.log(e,'状态选择');
            this.getInfoList()
        },

        // 新增资讯按钮
        addRecommend(){
            this.$router.push({name:'estateAdd',query:{}})
        },
         
          // 多选
			handlerCheckbox(i){
                console.log(i);
				let arr = this.checkBoxAll;
				if(arr.includes(i)){
					let index = arr.indexOf(i);
					if(index != -1){
						arr.splice(index,1);
						this.shelvesAlls.splice(index,1);
						if(this.checkBoxAll.length !== this.tableList.length) {
							this.checkAll = false;
						}
					}
				}else {
					this.checkBoxAll.push(i);
					this.shelvesAlls.push(this.tableList[i].id);
					if(this.checkBoxAll.length == this.tableList.length) {
						this.checkAll = true;
					}
				};
				console.log(this.shelvesAlls);
			},
            // 全选与全不选
			handerCheckAll(){
				this.checkAll = !this.checkAll;
				let arr = this.tableList.length;
				this.checkBoxAll = [];
				this.shelvesAlls = [];
				if(this.checkAll){
					for(let i=0;i<arr;i++){
						this.checkBoxAll.push(i);
					}
					this.checkBoxAll.map(v => {
					this.shelvesAlls.push(this.tableList[v].id.toString());;
				})
				}else {
					this.checkBoxAll = [];
					this.shelvesAlls = []
				}
				console.log(this.shelvesAlls);
			},

            // // 全选后的删除
            // selectDel(){
			// 	console.log(this.shelvesAlls);
			// 	let res =[...new Set(this.shelvesAlls)]; //去重
			// 	console.log(res);
			// 	let str = res.join(',');
			// 	if(this.shelvesAlls.length){
			// 		this.$confirm('此操作将删除选中项, 是否继续?', '提示', {
			// 			confirmButtonText: '确定',
			// 			cancelButtonText: '取消',
			// 			type: 'warning'
			// 		}).then(()=>{
			// 			this.$http.post('/api/root/designer/del',{id:str}).then(res=>{
			// 				console.log(res);
			// 				if(res.code==1){
			// 					this.getDesigList();
			// 					this.checkAll=false;
			// 					this.checkBoxAll=[];
			// 					this.shelvesAlls=[];
			// 					this.$message({
			// 						type:'success',
			// 						message:'删除成功'
			// 					})
			// 				}
			// 			})
			// 		})
			// 	}else{
			// 		this.$message({
			// 			type:'info',
			// 			message:'请选择要删除的项'
			// 		})
			// 	}
			// },
			

        	handleSizeChange(val) {
				this.pageSize = val;
				this.getEstateList()
			},
			handleCurrentChange(val) {
			    this.page = val;
				this.getEstateList()
			},
    }
}
</script>

<style lang="less" scoped>
@import 'estateList.less';
</style>
